package com.baizhi.collectionx;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * JDK1.5推出了两个和集合息息相关的特性： 增强for循环，和泛型
 */
public class NewForDemo {
    public static void main(String[] args) {
        String[] array = {"马钰","王处一","刘处玄","谭处端","丘处机","郝大通","孙不二"};
        for(String str:array){
            System.out.println(str);
        }

        System.out.println("===========================================");

        /*
          泛型：也称之为参数化类型
          泛型可以允许我们在使用一个类的是有指定该类中某个属性的类型，方法参数类型或者返回值类型
          泛型应用最多的地方就是集合中，用于指定集合中元素的类型
         */
        Collection<String> c = new ArrayList<>();
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        c.add("five");

        for(String str:c){
            System.out.println(str);
        }

        System.out.println("----------------------");

        //上面增强for循环会被编译器改变为迭代器方式遍历
        Iterator<String> it = c.iterator();
        while(it.hasNext()){
            String str = it.next(); //不再需要强制类型转换
            System.out.println(str);
        }


    }
}
